package mx.itesm.papamastodon.dienosaurs;

import android.opengl.GLES20;
import android.util.Log;

import org.andengine.audio.music.Music;
import org.andengine.audio.music.MusicFactory;
import org.andengine.audio.sound.Sound;
import org.andengine.audio.sound.SoundFactory;
import org.andengine.engine.camera.Camera;
import org.andengine.entity.Entity;
import org.andengine.entity.particle.BatchedPseudoSpriteParticleSystem;
import org.andengine.entity.particle.emitter.RectangleParticleEmitter;
import org.andengine.entity.particle.initializer.AccelerationParticleInitializer;
import org.andengine.entity.particle.initializer.ExpireParticleInitializer;
import org.andengine.entity.particle.initializer.RotationParticleInitializer;
import org.andengine.entity.particle.initializer.ScaleParticleInitializer;
import org.andengine.entity.particle.initializer.VelocityParticleInitializer;
import org.andengine.entity.particle.modifier.AlphaParticleModifier;
import org.andengine.entity.scene.CameraScene;
import org.andengine.entity.scene.background.SpriteBackground;
import org.andengine.entity.sprite.AnimatedSprite;
import org.andengine.entity.sprite.ButtonSprite;
import org.andengine.entity.sprite.Sprite;
import org.andengine.entity.text.Text;
import org.andengine.entity.text.TextOptions;
import org.andengine.input.touch.TouchEvent;
import org.andengine.opengl.font.Font;
import org.andengine.opengl.util.GLState;
import org.andengine.util.adt.align.HorizontalAlign;

import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.content.Context;
import android.content.*;

import java.io.IOException;
import java.util.ArrayList;

/**
 * Created by Papa Mastodon on 20/04/2015.
 */
public class EscenaJuego2 extends EscenaBase {

    private Sprite spriteFondo;
    private AnimatedSprite sprite1;
    private AnimatedSprite sprite2;
    private AnimatedSprite sprite3;
    private AnimatedSprite sprite4;
    private AnimatedSprite sprite5;
    private Sprite tablam1;
    private Sprite tablam2;
    private Sprite tablam3;
    private Sprite tablag1;
    private Sprite tablag2;
    private Sprite tablag3;
    private Sprite tablag4;
    private Sprite caja1;
    private Sprite caja2;
    private Sprite caja3;
    private Sprite caja4;
    private Sprite picos1;
    private Sprite picos2;
    private Sprite picosan;
    private Sprite picosan2;
    private Sprite tablamovil1;
    private Sprite tablamovil2;
    private Sprite tablamovil3;
    private Sprite muerte;
    private Sprite muerte2;
    private Sprite muerte3;
    private Sprite muerte4;
    private Sprite muerte5;
    private Sprite meta;
    private Sprite quemao;
    private Sprite pared;
    private ButtonSprite boton;
    private ButtonSprite boton2;
    private ButtonSprite boton3;
    private ButtonSprite botonArriba;
    private ButtonSprite botonPared;
    private ButtonSprite botonAbajo;
    private ButtonSprite botonPuente;
    private ButtonSprite botonRampa;
    private boolean apretado;
    private boolean apretado2;
    private boolean apretado3;
    private ArrayList<Sprite> sps;
    private Sprite tablita2;
    private boolean finalisar;
    private boolean tablaSet;
    private boolean rampaSet;
    private boolean pausado=false;
    private Sprite rampa;
    private boolean apretadoArriba;
    private boolean apretadoAbajo;
    private boolean paredSet;
    private Sprite barra;
    private Sound quemaofx;
    private Sound sangre;
    private Sound victoria;
    private Sound cajafx;
    private Music musica;
    private BatchedPseudoSpriteParticleSystem nieve;
    private int score;
    private Editor editor;
    private int movi;
    private Sprite pausa;
    private CameraScene espau;
    private Text text;
    private Font fuente;
    int highscore;




    @Override
    public void crearEscena() {
        this.setTouchAreaBindingOnActionDownEnabled(true);
        fuente=admRecursos.fuente;
        text = new Text(ControlJuego.ANCHO_CAMARA/2, 34, fuente, "SCORE:       ", new TextOptions(HorizontalAlign.LEFT), admRecursos.vbom);
        spriteFondo = new Sprite(0, 0, admRecursos.regionFondoJuego2, admRecursos.vbom) {
            @Override
            protected void preDraw(GLState pGLState, Camera pCamera) {
                super.preDraw(pGLState, pCamera);
                pGLState.enableDither();
            }
        };

        espau=new CameraScene(ControlJuego.camara);

        pausa=new Sprite(ControlJuego.ANCHO_CAMARA/2,ControlJuego.ALTO_CAMARA/2 , AdministradorRecursos.getInstance().pausareg, AdministradorRecursos.getInstance().vbom);

        espau.attachChild(pausa);
        espau.setBackgroundEnabled(false);

        movi = 30;
        ControlJuego.musica.pause();
        Context conti =  ApplicationContextProvider.getContext();
        SharedPreferences prefs =  conti.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
        // Configuración de la imagen
        //SecureSharedPreferences prefs = ApplicationContextProvider.getContext().getSecureSharedPreferences("myPrefsKey",Context.MODE_PRIVATE);
        Editor editor = prefs.edit();
        spriteFondo.setPosition(ControlJuego.ANCHO_CAMARA / 2, ControlJuego.ALTO_CAMARA / 2);
        score = 1500;
        //editor.putInt("highScore3", 4);
        editor.commit();
        highscore = prefs.getInt("highScore2",0);
        nieve= new BatchedPseudoSpriteParticleSystem(
                new RectangleParticleEmitter(ControlJuego.ANCHO_CAMARA / 2, ControlJuego.ALTO_CAMARA, ControlJuego.ANCHO_CAMARA, 1),
                2, 5, 100, admRecursos.regionNieve,
                admRecursos.vbom);
        nieve.setBlendFunction(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE);
        nieve.addParticleInitializer(new VelocityParticleInitializer<Entity>(-3, 3, -20, -40));
        nieve.addParticleInitializer(new AccelerationParticleInitializer<Entity>(-3, 3, -3, -5));
        nieve.addParticleInitializer(new RotationParticleInitializer<Entity>(0.0f, 360.0f));
        nieve.addParticleInitializer(new ExpireParticleInitializer<Entity>(20f));
        nieve.addParticleInitializer(new ScaleParticleInitializer<Entity>(0.2f, 0.5f));
        nieve.addParticleModifier(new AlphaParticleModifier<Entity>(12f, 10f, 1.0f, 0.0f));

        try {
            musica = MusicFactory.createMusicFromAsset(AdministradorRecursos.getInstance().actividadJuego.getMusicManager(), AdministradorRecursos.getInstance().actividadJuego, "Monkoto.ogg");
        } catch (IOException e) {
            Log.d("Musica", "No se pudo cargar la música");
        }


        rampaSet = false;
        tablaSet = false;
        paredSet = false;
        apretado = false;
        apretado3= true;
        apretadoAbajo = false;
        apretadoArriba = false;
        finalisar = false;
        spriteFondo = new Sprite(0, 0, admRecursos.regionFondoJuego2, admRecursos.vbom) {
            @Override
            protected void preDraw(GLState pGLState, Camera pCamera) {
                super.preDraw(pGLState, pCamera);
                pGLState.enableDither();
            }
        };
        rampa = new Sprite(50, (ControlJuego.ALTO_CAMARA ) + 60, admRecursos.rampareg2, admRecursos.vbom);
        tablita2 = new Sprite(50, (ControlJuego.ALTO_CAMARA ) + 30, admRecursos.tablareg2, admRecursos.vbom);
        pared  = new Sprite(50, (ControlJuego.ALTO_CAMARA ) + 800, admRecursos.paredReg, admRecursos.vbom);
        sprite1= new AnimatedSprite((ControlJuego.ANCHO_CAMARA/2 )+100, ControlJuego.ALTO_CAMARA / 2, AdministradorRecursos.getInstance().dino12regder, AdministradorRecursos.getInstance().vbom);
        sprite2= new AnimatedSprite((ControlJuego.ANCHO_CAMARA/2 )+1000, ControlJuego.ALTO_CAMARA / 2, AdministradorRecursos.getInstance().dino22regder, AdministradorRecursos.getInstance().vbom);
        sprite3= new AnimatedSprite((ControlJuego.ANCHO_CAMARA/2 )-1000, ControlJuego.ALTO_CAMARA / 2, AdministradorRecursos.getInstance().dino32regder, AdministradorRecursos.getInstance().vbom);
        sprite4= new AnimatedSprite((ControlJuego.ANCHO_CAMARA/2 )-2000, ControlJuego.ALTO_CAMARA / 2, AdministradorRecursos.getInstance().dino42regder, AdministradorRecursos.getInstance().vbom);
        sprite5= new AnimatedSprite((ControlJuego.ANCHO_CAMARA/2 )+2000, ControlJuego.ALTO_CAMARA / 2, AdministradorRecursos.getInstance().dino12regder, AdministradorRecursos.getInstance().vbom);
        sps = new ArrayList();
        sps.add(sprite1);
        picosan = new Sprite(3500, 3500, AdministradorRecursos.getInstance().picosvSangreReg2, AdministradorRecursos.getInstance().vbom);
        picosan.setFlippedHorizontal(true);
        picosan2 = new Sprite(3500, 3500, AdministradorRecursos.getInstance().picosvSangreReg2, AdministradorRecursos.getInstance().vbom);
        tablag1 = new Sprite((ControlJuego.ANCHO_CAMARA / 2), 20, AdministradorRecursos.getInstance(). tablotareg2, AdministradorRecursos.getInstance().vbom);
        tablag2 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)-200,-400, AdministradorRecursos.getInstance(). tablotareg2, AdministradorRecursos.getInstance().vbom);
        tablag3= new Sprite((ControlJuego.ANCHO_CAMARA/2)+100, -700, AdministradorRecursos.getInstance().tablotareg2, AdministradorRecursos.getInstance().vbom); //agregué esta tabla
        tablag4= new Sprite(0, -700, AdministradorRecursos.getInstance().tablotareg2, AdministradorRecursos.getInstance().vbom);
        tablam1 = new Sprite((ControlJuego.ANCHO_CAMARA / 2) + 160, 200, AdministradorRecursos.getInstance().tablareg2, AdministradorRecursos.getInstance().vbom);
        tablam2 = new Sprite(300, -200, AdministradorRecursos.getInstance().tablareg2, AdministradorRecursos.getInstance().vbom);
        tablam3 = new Sprite(400, -550, AdministradorRecursos.getInstance().tablareg2, AdministradorRecursos.getInstance().vbom);
        tablamovil1 = new Sprite(750,10, AdministradorRecursos.getInstance(). tablareg2, AdministradorRecursos.getInstance().vbom);
        tablamovil2 = new Sprite(50,-200, AdministradorRecursos.getInstance(). tablareg2, AdministradorRecursos.getInstance().vbom);
        tablamovil3 = new Sprite(500,-700, AdministradorRecursos.getInstance(). tablareg2, AdministradorRecursos.getInstance().vbom);
        picos1 = new Sprite(ControlJuego.ANCHO_CAMARA-20,70, AdministradorRecursos.getInstance().picosvreg2, AdministradorRecursos.getInstance().vbom);
        picos2 = new Sprite(20,-600, AdministradorRecursos.getInstance().picosvreg2, AdministradorRecursos.getInstance().vbom);
        picos1.setFlippedHorizontal(true);
        caja1 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)+100,300, AdministradorRecursos.getInstance(). cajitareg2, AdministradorRecursos.getInstance().vbom);
        caja2 = new Sprite((ControlJuego.ANCHO_CAMARA / 2),-150, AdministradorRecursos.getInstance(). cajitareg2, AdministradorRecursos.getInstance().vbom);
        caja3 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)-100,-350, AdministradorRecursos.getInstance(). cajitareg2, AdministradorRecursos.getInstance().vbom);
        caja4 = new Sprite(200,-650, AdministradorRecursos.getInstance(). cajitareg2, AdministradorRecursos.getInstance().vbom);
        muerte = new Sprite((ControlJuego.ANCHO_CAMARA / 2)+100,-420, AdministradorRecursos.getInstance().muerteReg2, AdministradorRecursos.getInstance().vbom);
        muerte2 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)+130,-420, AdministradorRecursos.getInstance().muerteReg2, AdministradorRecursos.getInstance().vbom);
        muerte3 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)+160,-420, AdministradorRecursos.getInstance().muerteReg2, AdministradorRecursos.getInstance().vbom);
        muerte4 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)+190,-420, AdministradorRecursos.getInstance().muerteReg2, AdministradorRecursos.getInstance().vbom);
        muerte5 = new Sprite((ControlJuego.ANCHO_CAMARA / 2)+220,-420, AdministradorRecursos.getInstance().muerteReg2, AdministradorRecursos.getInstance().vbom);
        meta = new Sprite((ControlJuego.ANCHO_CAMARA / 2), -500, AdministradorRecursos.getInstance(). metareg2, AdministradorRecursos.getInstance().vbom);
        rampa.setFlippedHorizontal(true);
        barra = new Sprite(ControlJuego.ANCHO_CAMARA/2, ControlJuego.ALTO_CAMARA -34, admRecursos.barritareg2, admRecursos.vbom);
        // Configuración de la imagen
        spriteFondo.setPosition(ControlJuego.ANCHO_CAMARA / 2, ControlJuego.ALTO_CAMARA / 2);

        try
        {
            sangre = SoundFactory.createSoundFromAsset(admRecursos.actividadJuego.getSoundManager(), admRecursos.actividadJuego, "splat.ogg");
        }
        catch (IOException e)
        {
            Log.d("cargarRecursosMenu", "No se pudo cargar la música");
        }

        try
        {
            quemaofx = SoundFactory.createSoundFromAsset(admRecursos.actividadJuego.getSoundManager(), admRecursos.actividadJuego, "congelao.ogg");
        }
        catch (IOException e)
        {
            Log.d("cargarRecursosMenu", "No se pudo cargar la música");
        }

        try
        {
            victoria = SoundFactory.createSoundFromAsset(admRecursos.actividadJuego.getSoundManager(), admRecursos.actividadJuego, "meta.ogg");
        }
        catch (IOException e)
        {
            Log.d("cargarRecursosMenu", "No se pudo cargar la música");
        }

        try
        {
            cajafx = SoundFactory.createSoundFromAsset(admRecursos.actividadJuego.getSoundManager(), admRecursos.actividadJuego, "caja.ogg");
        }
        catch (IOException e)
        {
            Log.d("cargarRecursosMenu", "No se pudo cargar la música");
        }

        botonPuente = new ButtonSprite((ControlJuego.ANCHO_CAMARA/2)-150, ControlJuego.ALTO_CAMARA - 40, admRecursos.regionBotonPuente2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionDown()) {
                    tablita2.setPosition(botonPuente.getX(),botonPuente.getY());
                }
                if (pSceneTouchEvent.isActionMove()) {
                    tablita2.setPosition(pSceneTouchEvent.getX(),pSceneTouchEvent.getY());
                }
                if (pSceneTouchEvent.isActionUp()) {
                    botonPuente.setX(-2000);
                    tablaSet = true;
                    botonPuente.detachSelf();
                    score = score-500;
                }
                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };
        botonRampa = new ButtonSprite(ControlJuego.ANCHO_CAMARA/2, ControlJuego.ALTO_CAMARA-40, admRecursos.regionBtnRampa2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionDown()) {
                    rampa.setPosition(botonRampa.getX(),botonRampa.getY());

                }
                if (pSceneTouchEvent.isActionMove()) {
                    rampa.setPosition(pSceneTouchEvent.getX(),pSceneTouchEvent.getY());

                }
                if (pSceneTouchEvent.isActionUp()) {
                    botonRampa.setX(-2000);
                    botonRampa.detachSelf();
                    rampaSet = true;
                    score = score-500;
                }

                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };
        botonPared = new ButtonSprite((ControlJuego.ANCHO_CAMARA/2)+100, ControlJuego.ALTO_CAMARA-40, admRecursos.regionBtnPared, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionDown()) {
                    pared.setPosition(botonPared.getX(),botonPared.getY());

                }
                if (pSceneTouchEvent.isActionMove()) {
                    pared.setPosition(pSceneTouchEvent.getX(),pSceneTouchEvent.getY());

                }
                if (pSceneTouchEvent.isActionUp()) {
                    botonPared.setX(-2000);
                    botonPared.detachSelf();
                    paredSet = true;
                    score = score-500;
                }

                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };
        boton = new ButtonSprite(ControlJuego.ANCHO_CAMARA - 120, ControlJuego.ALTO_CAMARA - 120, admRecursos.regionBotoncito2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionUp()) {
                    if (!apretado) {
                        apretado = true;
                    } else {
                        apretado = false;
                    }
                }
                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };

        boton2 = new ButtonSprite(50, -100, admRecursos.regionBotoncito2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionUp()) {
                    if (!apretado2) {
                        apretado2 = true;
                    } else {
                        apretado2 = false;
                    }
                }
                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };

        boton3 = new ButtonSprite(700, -500, admRecursos.regionBotoncito2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionUp()) {
                    if (!apretado3) {
                        apretado3 = true;
                    } else {
                        apretado3 = false;
                    }
                }
                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };


        botonArriba = new ButtonSprite(ControlJuego.ANCHO_CAMARA/2 + 350, ControlJuego.ALTO_CAMARA/2 + 200, admRecursos.regionBtnArriba2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionDown()) {
                    apretadoArriba=true;

                }
                if (pSceneTouchEvent.isActionUp()) {
                    apretadoArriba=false;
                }
                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };
        botonAbajo = new ButtonSprite(ControlJuego.ANCHO_CAMARA/2 +350 , ControlJuego.ALTO_CAMARA/2 - 200, admRecursos.regionBtnAbajo2, admRecursos.vbom) {
            public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                if (pSceneTouchEvent.isActionDown()) {
                    apretadoAbajo = true;
                }

                if (pSceneTouchEvent.isActionUp()) {
                    apretadoAbajo = false;
                }

                return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
            }
        };


        // Crea el fondo de la pantalla
        SpriteBackground fondo = new SpriteBackground(1, 0.5f, 0, spriteFondo);
        setBackground(fondo);
        setBackgroundEnabled(true);
        sprite1.animate(100);
        sprite2.animate(100);
        sprite3.animate(100);
        sprite4.animate(100);
        sprite5.animate(100);
        attachChild(nieve);
        this.attachChild(tablag1);
        this.attachChild(picosan);
        this.attachChild(picosan2);
        this.attachChild(picos2);
        this.attachChild(tablam1);
        this.attachChild(tablam2);
        this.attachChild(tablam3);
        this.attachChild(tablag2);
        this.attachChild(tablag3);
        this.attachChild(tablag4);
        this.attachChild(caja2);
        this.attachChild(caja3);
        this.attachChild(caja4);
        this.attachChild(tablamovil2);
        this.attachChild(tablamovil1);
        this.attachChild(tablamovil3);
        this.attachChild(picos1);
        this.attachChild(caja1);
        this.registerTouchArea(boton);
        this.attachChild(boton);
        this.registerTouchArea(boton3);
        this.attachChild(boton3);
        this.registerTouchArea(botonArriba);
        this.attachChild(botonArriba);
        this.registerTouchArea(botonRampa);
        this.attachChild(botonRampa);
        this.registerTouchArea(botonPared);
        this.attachChild(botonPared);
        this.attachChild(pared);
        this.registerTouchArea(botonPuente);
        this.attachChild(botonPuente);
        this.registerTouchArea(botonAbajo);
        this.attachChild(botonAbajo);
        this.attachChild(boton2);
        this.registerTouchArea(boton2);
        this.attachChild(muerte);
        this.attachChild(muerte2);
        this.attachChild(muerte3);
        this.attachChild(muerte4);
        this.attachChild(muerte5);
        this.attachChild(meta);
        this.attachChild(tablita2);
        this.attachChild(rampa);
        this.attachChild(barra);
        attachChild(sprite1);
        attachChild(sprite2);
        attachChild(sprite3);
        attachChild(sprite4);
        attachChild(sprite5);
        attachChild(text);

        if(ControlJuego.play) {
            musica.play();
            musica.setLooping(true);
        }

    }

    @Override
    public void onBackKeyPressed() {
        if(!pausado) {
            pausado=true;
            setChildScene(espau);
            espau.setBackgroundEnabled(true);
            musica.pause();
            admRecursos.engine.stop();
        }
        else{
            pausado=false;
            clearChildScene();
            admRecursos.engine.start();
            if(ControlJuego.play){
                musica.play();
            }
        }
    }

    @Override
    public TipoEscena getTipoEscena() {
        return TipoEscena.ESCENA_JUEGO2;
    }

    @Override
    public void liberarEscena() {
        spriteFondo.detachSelf();
        spriteFondo.dispose();
        musica.stop();
        this.detachSelf();
        this.dispose();
    }

    protected void onManagedUpdate(float pSecondsElapsed) {
        super.onManagedUpdate(pSecondsElapsed);
        text.setText("SCORE: "+score);

        if(sps.isEmpty()){
            if(finalisar){
                if(score>highscore){
                    Context conti =  ApplicationContextProvider.getContext();
                    SharedPreferences prefs =  conti.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
                    Editor editor = prefs.edit();
                    editor.putInt("highScore2", score);
                    editor.putInt("nuevoScore2", score);
                    editor.putInt("ultimoNivel",2);
                    editor.commit();
                }
                else{
                    Context conti =  ApplicationContextProvider.getContext();
                    SharedPreferences prefs =  conti.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
                    Editor editor = prefs.edit();
                    editor.putInt("nuevoScore2", score);
                    editor.putInt("ultimoNivel",2);
                    editor.commit();
                }
                AdministradorRecursos.centrarCamara();
                if(ControlJuego.play) ControlJuego.musica.play();
                admEscenas.crearEscenaPuntaje();
                admEscenas.setEscena(TipoEscena.ESCENA_PUNTAJE);
                admEscenas.liberarEscenaJuego2();

            }
            else{
                AdministradorRecursos.centrarCamara();
                if(ControlJuego.play) ControlJuego.musica.play();
                admEscenas.crearEscenaGameOver2();
                admEscenas.setEscena(TipoEscena.ESCENA_GAME_OVER2);
                admEscenas.liberarEscenaJuego2();
            }
        }

        if(AdministradorRecursos.camaraY()<=ControlJuego.ALTO_CAMARA/2 && apretadoArriba){
            AdministradorRecursos.subirCamara();
            botonArriba.setPosition(botonArriba.getX(),botonArriba.getY()+10);
            botonAbajo.setPosition(botonAbajo.getX(),botonAbajo.getY()+10);
            botonPuente.setPosition(botonPuente.getX(),botonPuente.getY()+10);
            botonRampa.setPosition(botonRampa.getX(),botonRampa.getY()+10);
            botonPared.setPosition(botonPared.getX(),botonPared.getY()+10);
            barra.setY(barra.getY()+10);
            text.setY(text.getY()+10);
        }
        if(AdministradorRecursos.camaraY()>=-458 && apretadoAbajo){
            AdministradorRecursos.bajarCamara();
            botonAbajo.setPosition(botonAbajo.getX(),botonAbajo.getY()-10);
            botonArriba.setPosition(botonArriba.getX(),botonArriba.getY()-10);
            botonPuente.setPosition(botonPuente.getX(),botonPuente.getY()-10);
            botonRampa.setPosition(botonRampa.getX(),botonRampa.getY()-10);
            botonPared.setPosition(botonPared.getX(),botonPared.getY()-10);
            barra.setY(barra.getY()-10);
            text.setY(text.getY()-10);
        }
        System.out.println(apretadoAbajo);
        if (apretado) {
            tablamovil1.setY(tablamovil1.getY() + 10);
            if (tablamovil1.getY() >= 200) {
                tablamovil1.setY(200);
            }
        } else {
            tablamovil1.setY(tablamovil1.getY() - 10);
            if (tablamovil1.getY() <= 20) {
                tablamovil1.setY(20);
            }
        }

        if (apretado2) {
            tablamovil2.setY(-200);
            tablamovil2.setX(50);
        } else {
            tablamovil2.setY(-200);
            tablamovil2.setX(-300);
        }
        if (apretado3) {
            tablamovil3.setY(tablamovil3.getY() + 10);
            if (tablamovil3.getY() >= -550) {
                tablamovil3.setY(-550);
            }
        } else {
            tablamovil3.setY(tablamovil3.getY() - 10);
            if (tablamovil3.getY() <= -700) {
                tablamovil3.setY(-700);
            }
        }

        if (sprite1.collidesWith(muerte) || sprite1.collidesWith(muerte2) || sprite1.collidesWith(muerte3) || sprite1.collidesWith(muerte4) || sprite1.collidesWith(muerte5)) {
            quemao = new Sprite(sprite1.getX(), sprite1.getY(), AdministradorRecursos.getInstance().congelaoreg, AdministradorRecursos.getInstance().vbom);
            quemaofx.play();
            this.attachChild(quemao);
            sprite1.setPosition(2000, 0);
            sprite1.detachSelf();
            sps.remove(sprite1);

        }
        if (sprite1.collidesWith(picos1)) {

            picosan.setPosition(picos1.getX(), picos1.getY());
            sangre.play();
            picos1.detachSelf();
            sprite1.setPosition(-30, -30);
            sprite1.setPosition(2000, 0);
            sprite1.detachSelf();
            sps.remove(sprite1);
        }

        if (sprite1.collidesWith(picos2)) {

            picosan2.setPosition(picos2.getX(), picos2.getY());
            sangre.play();
            picos2.detachSelf();
            sprite1.setPosition(2000, 0);
            sprite1.detachSelf();
            sps.remove(sprite1);
        }

        if (sprite1.collidesWith(picosan)) {
            sangre.play();
            sprite1.setPosition(2000, 0);
            sprite1.detachSelf();
            sps.remove(sprite1);
        }


        if (sprite1.collidesWith(picosan2)) {
            sangre.play();
            sprite1.setPosition(2000, 0);
            sprite1.detachSelf();
            sps.remove(sprite1);
        }

        if (sprite1.collidesWith(meta)) {
            score = score+1000;
            victoria.play();
            text.setText("SCORE: "+score);
            finalisar = true;
            sprite1.setPosition(-30, -30);
            sprite1.detachSelf();
            sprite1.setPosition(2000, 0);
            sps.remove(sprite1);

        }
        if (!sprite1.isFlippedHorizontal()) {
            if (!sprite1.collidesWith(tablag1) && !sprite1.collidesWith(tablag2) && !sprite1.collidesWith(tablag3) &&!sprite1.collidesWith(tablag4) && !sprite1.collidesWith(tablam1) && !sprite1.collidesWith(tablam2) && !sprite1.collidesWith(tablam2) && !sprite1.collidesWith(tablamovil1) && !sprite1.collidesWith(tablamovil2) && !sprite1.collidesWith(tablamovil3) && (!sprite1.collidesWith(tablita2) || !tablaSet) && (!sprite1.collidesWith(rampa) || !rampaSet) && !sprite1.collidesWith(tablamovil2)) {
                sprite1.setY(sprite1.getY() - 10);
            } else {
                if (sprite1.collidesWith(tablamovil1) && apretado) {
                    sprite1.setY(tablamovil1.getY() + 20);
                }
                if (sprite1.collidesWith(tablamovil3) && apretado3) {
                    sprite1.setY(tablamovil3.getY()+20);
                }
                //inicia cosa fea
                if(!sprite1.collidesWith(rampa)&& !rampaSet){
                    if (sprite1.collidesWith(tablag1) && sprite1.getY()>tablag1.getY()) {
                        sprite1.setY(tablag1.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag1) && sprite1.getY()<=tablag1.getY()) {
                        sprite1.setX(sprite1.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                    if (sprite1.collidesWith(tablag2) && sprite1.getY()>tablag2.getY()) {
                        sprite1.setY(tablag2.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag2) && sprite1.getY()<=tablag2.getY()) {
                        sprite1.setX(sprite1.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                    if (sprite1.collidesWith(tablag3) && sprite1.getY()>tablag3.getY()) {
                        sprite1.setY(tablag3.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag3) && sprite1.getY()<=tablag3.getY()) {
                        sprite1.setX(sprite1.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                    if (sprite1.collidesWith(tablag4) && sprite1.getY()>tablag4.getY()) {
                        sprite1.setY(tablag3.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag4) && sprite1.getY()<=tablag4.getY()) {
                        sprite1.setX(sprite4.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                    if (sprite1.collidesWith(tablam1) && sprite1.getY()>tablam1.getY()) {
                        sprite1.setY(tablam1.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablam1) && sprite1.getY()<=tablam1.getY()) {
                        sprite1.setX(sprite1.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                    if (sprite1.collidesWith(tablam2) && sprite1.getY()>tablam2.getY()) {
                        sprite1.setY(tablam2.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablam2) && sprite1.getY()<=tablam2.getY()) {
                        sprite1.setX(sprite1.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                    if (sprite1.collidesWith(tablita2) && sprite1.getY()>tablita2.getY()&&tablaSet) {
                        sprite1.setY(tablita2.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablita2) && sprite1.getY()<=tablita2.getY()&& tablaSet) {
                        sprite1.setX(sprite1.getX()-30);
                        sprite1.setFlippedHorizontal(true);
                    }
                }
                //acaba cosa fea
                if (sprite1.collidesWith(rampa) && rampaSet) {
                    sprite1.setFlippedHorizontal(true);
                }
                if(sprite1.collidesWith(pared) && paredSet){
                    sprite1.setFlippedHorizontal(true);
                    sprite1.setX(pared.getX()-50);
                }
                if (sprite1.getX() < ControlJuego.ANCHO_CAMARA - 10) {
                    sprite1.setX(sprite1.getX() + 2);
                } else {
                    sprite1.setX(ControlJuego.ANCHO_CAMARA - 10);
                    sprite1.setFlippedHorizontal(true);
                }
            }
        } else {
            if (!sprite1.collidesWith(tablag1) && !sprite1.collidesWith(tablag2) && !sprite1.collidesWith(tablag3) && !sprite1.collidesWith(tablag4)&& !sprite1.collidesWith(tablam1) && !sprite1.collidesWith(tablam2) && !sprite1.collidesWith(tablam2) && !sprite1.collidesWith(tablamovil1) && !sprite1.collidesWith(tablamovil2) && !sprite1.collidesWith(tablamovil3) && (!sprite1.collidesWith(tablita2) || !tablaSet) && (!sprite1.collidesWith(rampa) || !rampaSet) && !sprite1.collidesWith(tablamovil2)) {
                sprite1.setY(sprite1.getY() - 10);
            } else {
                if (sprite1.collidesWith(tablamovil1) && apretado) {
                    sprite1.setY(tablamovil1.getY()+20);
                }
                if (sprite1.collidesWith(tablamovil3) && apretado3) {
                    sprite1.setY(tablamovil3.getY()+20);
                }
                if (sprite1.collidesWith(rampa) && rampaSet) {
                    sprite1.setY(sprite1.getY() + 1);
                    // sprite2.setX(sprite2.getX()-2);
                }
                if(sprite1.collidesWith(pared) && paredSet){
                    sprite1.setFlippedHorizontal(false);
                    sprite1.setX(pared.getX()+50);
                }
                //inicia cosa fea
                if(!sprite1.collidesWith(rampa)&& !rampaSet){
                    if (sprite1.collidesWith(tablag1) && sprite1.getY()>tablag1.getY()) {
                        sprite1.setY(tablag1.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag1) && sprite1.getY()<=tablag1.getY()) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                    if (sprite1.collidesWith(tablag2) && sprite1.getY()>tablag2.getY()) {
                        sprite1.setY(tablag2.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag2) && sprite1.getY()<=tablag2.getY()) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                    if (sprite1.collidesWith(tablag3) && sprite1.getY()>tablag3.getY()) {
                        sprite1.setY(tablag3.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag3) && sprite1.getY()<=tablag3.getY()) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                    if (sprite1.collidesWith(tablag4) && sprite1.getY()>tablag4.getY()) {
                        sprite1.setY(tablag3.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablag4) && sprite1.getY()<=tablag4.getY()) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                    if (sprite1.collidesWith(tablam1) && sprite1.getY()>tablam1.getY()) {
                        sprite1.setY(tablam1.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablam1) && sprite1.getY()<=tablam1.getY()) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                    if (sprite1.collidesWith(tablam2) && sprite1.getY()>tablam2.getY()) {
                        sprite1.setY(tablam2.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablam2) && sprite1.getY()<=tablam2.getY()) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                    if (sprite1.collidesWith(tablita2) && sprite1.getY()>tablita2.getY()&&tablaSet) {
                        sprite1.setY(tablita2.getY()+movi);
                    }
                    if (sprite1.collidesWith(tablita2) && sprite1.getY()<=tablita2.getY()&& tablaSet) {
                        sprite1.setX(sprite1.getX()+30);
                        sprite1.setFlippedHorizontal(false);
                    }
                }
                //acaba cosa fea
                if (sprite1.getX() > 10) {
                    sprite1.setX(sprite1.getX() - 2);
                } else {
                    sprite1.setX(10);
                    sprite1.setFlippedHorizontal(false);
                }
            }
            //sprite2


        }

        if (sprite2.collidesWith(muerte) || sprite2.collidesWith(muerte2) || sprite2.collidesWith(muerte3) || sprite2.collidesWith(muerte4) || sprite2.collidesWith(muerte5)) {
            quemao = new Sprite(sprite2.getX(), sprite2.getY(), AdministradorRecursos.getInstance().congelaoreg, AdministradorRecursos.getInstance().vbom);
            quemaofx.play();
            this.attachChild(quemao);
            sprite2.setPosition(2000, 0);
            sprite2.detachSelf();
            sps.remove(sprite2);

        }
        if (sprite2.collidesWith(picos1)) {

            picosan.setPosition(picos1.getX(), picos1.getY());
            sangre.play();
            picos1.detachSelf();
            sprite2.setPosition(2000, 0);
            sprite2.detachSelf();
            sps.remove(sprite2);
        }

        if (sprite2.collidesWith(picos2)) {

            picosan2.setPosition(picos2.getX(), picos2.getY());
            picos2.detachSelf();
            sangre.play();
            sprite2.setPosition(2000, 0);
            sprite2.detachSelf();
            sps.remove(sprite2);
        }

        if (sprite2.collidesWith(picosan)) {
            sangre.play();
            sprite2.setPosition(2000, 0);
            sprite2.detachSelf();
            sps.remove(sprite2);
        }

        if (sprite2.collidesWith(picosan2)) {
            sangre.play();
            sprite2.setPosition(2000, 0);
            sprite2.detachSelf();
            sps.remove(sprite2);
        }

        if (sprite2.collidesWith(meta)) {
            score = score+1000;
            finalisar = true;
            victoria.play();
            text.setText("SCORE: "+score);
            sprite2.setPosition(-30, -30);
            sprite2.detachSelf();
            sprite2.setPosition(2000, 0);
            sps.remove(sprite2);

        }
        if (!sprite2.isFlippedHorizontal()) {
            if (!sprite2.collidesWith(tablag1) && !sprite2.collidesWith(tablag2) && !sprite2.collidesWith(tablag3) && !sprite2.collidesWith(tablag4) && !sprite2.collidesWith(tablam1) && !sprite2.collidesWith(tablam2) && !sprite2.collidesWith(tablam2) && !sprite2.collidesWith(tablamovil1) && !sprite2.collidesWith(tablamovil2) && !sprite2.collidesWith(tablamovil3) && (!sprite2.collidesWith(tablita2) || !tablaSet) && (!sprite2.collidesWith(rampa) || !rampaSet) && !sprite2.collidesWith(tablamovil2)) {
                sprite2.setY(sprite2.getY() - 10);
            } else {
                if (sprite2.collidesWith(tablamovil1) && apretado) {
                    sprite2.setY(tablamovil1.getY() + 20);
                }
                if (sprite2.collidesWith(tablamovil3) && apretado3) {
                    sprite2.setY(tablamovil3.getY() + 20);
                }
                if(sprite2.collidesWith(pared) && paredSet){
                    sprite2.setFlippedHorizontal(true);
                    sprite2.setX(pared.getX()-100);
                }
                //inicia cosa fea

                if(!sprite2.collidesWith(rampa)&& !rampaSet){
                    if (sprite2.collidesWith(tablag1) && sprite2.getY()>tablag1.getY()) {
                        sprite2.setY(tablag1.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag1) && sprite2.getY()<=tablag1.getY()) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                    if (sprite2.collidesWith(tablag2) && sprite2.getY()>tablag2.getY()) {
                        sprite2.setY(tablag2.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag2) && sprite2.getY()<=tablag2.getY()) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                    if (sprite2.collidesWith(tablag3) && sprite2.getY()>tablag3.getY()) {
                        sprite2.setY(tablag3.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag3) && sprite2.getY()<=tablag3.getY()) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                    if (sprite2.collidesWith(tablag4) && sprite2.getY()>tablag4.getY()) {
                        sprite2.setY(tablag3.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag4) && sprite2.getY()<=tablag4.getY()) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                    if (sprite2.collidesWith(tablam1) && sprite2.getY()>tablam1.getY()) {
                        sprite2.setY(tablam1.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablam1) && sprite2.getY()<=tablam1.getY()) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                    if (sprite2.collidesWith(tablam2) && sprite2.getY()>tablam2.getY()) {
                        sprite2.setY(tablam2.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablam2) && sprite2.getY()<=tablam2.getY()) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                    if (sprite2.collidesWith(tablita2) && sprite2.getY()>tablita2.getY()&&tablaSet) {
                        sprite2.setY(tablita2.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablita2) && sprite2.getY()<=tablita2.getY()&& tablaSet) {
                        sprite2.setX(sprite2.getX()-30);
                        sprite2.setFlippedHorizontal(true);
                    }
                }
                //acaba cosa fea
                if (sprite2.collidesWith(rampa) && rampaSet) {
                    sprite2.setFlippedHorizontal(true);
                }
                if (sprite2.getX() < ControlJuego.ANCHO_CAMARA - 10) {
                    sprite2.setX(sprite2.getX() + 5);
                } else {
                    sprite2.setX(ControlJuego.ANCHO_CAMARA - 10);
                    sprite2.setFlippedHorizontal(true);
                }
            }
        } else {
            if (!sprite2.collidesWith(tablag1) && !sprite2.collidesWith(tablag2) && !sprite2.collidesWith(tablag3) && !sprite2.collidesWith(tablag4) && !sprite2.collidesWith(tablam1) && !sprite2.collidesWith(tablam2) && !sprite2.collidesWith(tablam2) && !sprite2.collidesWith(tablamovil1) && !sprite2.collidesWith(tablamovil2) && !sprite2.collidesWith(tablamovil3) && (!sprite2.collidesWith(tablita2) || !tablaSet) && (!sprite2.collidesWith(rampa) || !rampaSet) && !sprite2.collidesWith(tablamovil2)) {
                sprite2.setY(sprite2.getY() - 10);
            } else {
                if (sprite2.collidesWith(tablamovil1) && apretado) {
                    sprite2.setY(tablamovil1.getY());
                }
                if (sprite2.collidesWith(tablamovil3) && apretado3) {
                    sprite2.setY(tablamovil3.getY());
                }
                if (sprite2.collidesWith(rampa) && rampaSet) {
                    sprite2.setY(sprite2.getY() + 1);
                    // sprite2.setX(sprite2.getX()-2);
                }

                //inicia cosa fea
                if(!sprite1.collidesWith(rampa)&& !rampaSet){
                    if (sprite2.collidesWith(tablag1) && sprite2.getY()>tablag1.getY()) {
                        sprite2.setY(tablag1.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag1) && sprite2.getY()<=tablag1.getY()) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                    if (sprite2.collidesWith(tablag2) && sprite2.getY()>tablag2.getY()) {
                        sprite2.setY(tablag2.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag2) && sprite2.getY()<=tablag2.getY()) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                    if (sprite2.collidesWith(tablag3) && sprite2.getY()>tablag3.getY()) {
                        sprite2.setY(tablag3.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag3) && sprite2.getY()<=tablag3.getY()) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                    if (sprite2.collidesWith(tablag4) && sprite2.getY()>tablag4.getY()) {
                        sprite2.setY(tablag3.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablag4) && sprite2.getY()<=tablag4.getY()) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                    if (sprite2.collidesWith(tablam1) && sprite2.getY()>tablam1.getY()) {
                        sprite2.setY(tablam1.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablam1) && sprite2.getY()<=tablam1.getY()) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                    if (sprite2.collidesWith(tablam2) && sprite2.getY()>tablam2.getY()) {
                        sprite2.setY(tablam2.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablam2) && sprite2.getY()<=tablam2.getY()) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                    if (sprite2.collidesWith(tablita2) && sprite2.getY()>tablita2.getY()&&tablaSet) {
                        sprite2.setY(tablita2.getY()+movi);
                    }
                    if (sprite2.collidesWith(tablita2) && sprite2.getY()<=tablita2.getY()&& tablaSet) {
                        sprite2.setX(sprite2.getX()+30);
                        sprite2.setFlippedHorizontal(false);
                    }
                }
                //acaba cosa fea
                if(sprite2.collidesWith(pared) && paredSet){
                    sprite2.setFlippedHorizontal(false);
                    sprite2.setX(pared.getX()+100);
                }
                if (sprite2.getX() > 10) {
                    sprite2.setX(sprite2.getX() - 5);
                } else {
                    sprite2.setX(10);
                    sprite2.setFlippedHorizontal(false);
                }
            }

            //sprite2

        }


        if (sprite3.collidesWith(muerte) || sprite3.collidesWith(muerte2) || sprite3.collidesWith(muerte3) || sprite3.collidesWith(muerte4) || sprite3.collidesWith(muerte5)) {
            quemao = new Sprite(sprite3.getX(), sprite3.getY(), AdministradorRecursos.getInstance().congelaoreg, AdministradorRecursos.getInstance().vbom);
            quemaofx.play();
            this.attachChild(quemao);
            sprite3.setPosition(2000, 0);
            sprite3.detachSelf();
            sps.remove(sprite3);

        }
        if (sprite3.collidesWith(picos1)) {

            picosan.setPosition(picos1.getX(), picos1.getY());
            picos1.detachSelf();
            sangre.play();
            sprite3.setPosition(2000, 0);
            sprite3.detachSelf();
            sps.remove(sprite3);
        }

        if (sprite3.collidesWith(picos2)) {

            picosan2.setPosition(picos2.getX(), picos2.getY());
            picos2.detachSelf();
            sangre.play();
            sprite3.setPosition(2000, 0);
            sprite3.detachSelf();
            sps.remove(sprite3);
        }

        if (sprite3.collidesWith(picosan)) {
            sangre.play();
            sprite3.setPosition(2000, 0);
            sprite3.detachSelf();
            sps.remove(sprite3);
        }

        if (sprite3.collidesWith(picosan2)) {
            sangre.play();
            sprite3.setPosition(2000, 0);
            sprite3.detachSelf();
            sps.remove(sprite3);
        }

        if (sprite3.collidesWith(meta)) {
            score = score+1000;
            victoria.play();
            text.setText("SCORE: "+score);
            finalisar = true;
            sprite3.setPosition(-30, -30);
            sprite3.detachSelf();
            sprite3.setPosition(2000, 0);
            sps.remove(sprite3);

        }
        if (!sprite3.isFlippedHorizontal()) {
            if (!sprite3.collidesWith(tablag1) && !sprite3.collidesWith(tablag2) && !sprite3.collidesWith(tablag3) && !sprite3.collidesWith(tablag4) &&  !sprite3.collidesWith(tablam1) && !sprite3.collidesWith(tablam2) && !sprite3.collidesWith(tablam2) && !sprite3.collidesWith(tablamovil1) && !sprite3.collidesWith(tablamovil2) && !sprite3.collidesWith(tablamovil3) && (!sprite3.collidesWith(tablita2) || !tablaSet) && (!sprite3.collidesWith(rampa) || !rampaSet) && !sprite3.collidesWith(tablamovil2)) {
                sprite3.setY(sprite3.getY() - 10);
            } else {
                if (sprite3.collidesWith(tablamovil1) && apretado) {
                    sprite3.setY(tablamovil1.getY() + 50);

               }
               if (sprite3.collidesWith(tablamovil3) && apretado3) {
                    sprite3.setY(tablamovil3.getY() + 20);
                }
                //inicia cosa fea
                if (sprite3.collidesWith(tablamovil1) && sprite3.getY()>tablamovil1.getY()) {
                    sprite3.setY(tablamovil1.getY()+movi+30);
                }
                if (sprite3.collidesWith(tablamovil1) && sprite3.getY()<=tablamovil1.getY()) {
                    sprite3.setX(sprite4.getX()-30);
                    sprite3.setFlippedHorizontal(true);
                }
                if (sprite3.collidesWith(tablamovil2) && sprite3.getY()>tablamovil2.getY()) {
                    sprite3.setY(tablamovil2.getY()+movi+30);
                }
                if (sprite3.collidesWith(tablamovil2) && sprite3.getY()<=tablamovil2.getY()) {
                    sprite3.setX(sprite3.getX()-30);
                    sprite3.setFlippedHorizontal(true);
                }
                if(!sprite3.collidesWith(rampa)&& !rampaSet){
                    if (sprite3.collidesWith(tablag1) && sprite3.getY()>tablag1.getY()) {
                        sprite3.setY(tablag1.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag1) && sprite3.getY()<=tablag1.getY()) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                    if (sprite3.collidesWith(tablag2) && sprite3.getY()>tablag2.getY()) {
                        sprite3.setY(tablag2.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag2) && sprite3.getY()<=tablag2.getY()) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                    if (sprite3.collidesWith(tablag3) && sprite3.getY()>tablag3.getY()) {
                        sprite3.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag3) && sprite3.getY()<=tablag3.getY()) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                    if (sprite3.collidesWith(tablag4) && sprite3.getY()>tablag4.getY()) {
                        sprite3.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag4) && sprite3.getY()<=tablag4.getY()) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                    if (sprite3.collidesWith(tablam1) && sprite3.getY()>tablam1.getY()) {
                        sprite3.setY(tablam1.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablam1) && sprite3.getY()<=tablam1.getY()) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                    if (sprite3.collidesWith(tablam2) && sprite3.getY()>tablam2.getY()) {
                        sprite3.setY(tablam2.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablam2) && sprite3.getY()<=tablam2.getY()) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                    if (sprite3.collidesWith(tablita2) && sprite3.getY()>tablita2.getY()&&tablaSet) {
                        sprite3.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablita2) && sprite3.getY()<=tablita2.getY()&& tablaSet) {
                        sprite3.setX(sprite3.getX()-30);
                        sprite3.setFlippedHorizontal(true);
                    }
                }
                //acaba cosa fea
                if (sprite3.collidesWith(rampa) && rampaSet) {
                    sprite3.setFlippedHorizontal(true);
                }
                if(sprite3.collidesWith(pared) && paredSet){
                    sprite3.setFlippedHorizontal(true);
                    sprite3.setX(pared.getX()-50);
                }
                if (sprite3.getX() < ControlJuego.ANCHO_CAMARA - 10) {
                    sprite3.setX(sprite3.getX() + 3);
                } else {
                    sprite3.setX(ControlJuego.ANCHO_CAMARA - 10);
                    sprite3.setFlippedHorizontal(true);
                }
            }
        } else {
            if (!sprite3.collidesWith(tablag1) && !sprite3.collidesWith(tablag2) && !sprite3.collidesWith(tablag3) && !sprite3.collidesWith(tablag4) && !sprite3.collidesWith(tablam1) && !sprite3.collidesWith(tablam2) && !sprite3.collidesWith(tablam2) && !sprite3.collidesWith(tablamovil1) && !sprite3.collidesWith(tablamovil2) && !sprite3.collidesWith(tablamovil3) && (!sprite3.collidesWith(tablita2) || !tablaSet) && (!sprite3.collidesWith(rampa) || !rampaSet) && !sprite3.collidesWith(tablamovil2)) {
                sprite3.setY(sprite3.getY() - 10);
            } else {
                if (sprite3.collidesWith(tablamovil1) && apretado) {
                    sprite3.setY(tablamovil1.getY()+20);
                }
                if (sprite3.collidesWith(tablamovil3) && apretado3) {
                    sprite3.setY(tablamovil3.getY()+20);
                }
                //inicia cosa fea
                if (sprite3.collidesWith(tablamovil1) && sprite3.getY()>tablamovil1.getY()) {
                    sprite3.setY(tablamovil1.getY()+movi+30);
                }
                if (sprite3.collidesWith(tablamovil1) && sprite3.getY()<=tablamovil1.getY()) {
                    sprite3.setX(sprite4.getX()+30);
                    sprite3.setFlippedHorizontal(false);
                }
                if (sprite3.collidesWith(tablamovil2) && sprite3.getY()>tablamovil2.getY()) {
                    sprite3.setY(tablamovil2.getY()+movi+30);
                }
                if (sprite3.collidesWith(tablamovil2) && sprite3.getY()<=tablamovil2.getY()) {
                    sprite3.setX(sprite4.getX()+30);
                    sprite3.setFlippedHorizontal(false);
                }
                if(!sprite3.collidesWith(rampa)&& !rampaSet){
                    if (sprite3.collidesWith(tablag1) && sprite3.getY()>tablag1.getY()) {
                        sprite3.setY(tablag1.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag1) && sprite3.getY()<=tablag1.getY()) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                    if (sprite3.collidesWith(tablag2) && sprite3.getY()>tablag2.getY()) {
                        sprite3.setY(tablag2.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag2) && sprite3.getY()<=tablag2.getY()) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                    if (sprite3.collidesWith(tablag3) && sprite3.getY()>tablag3.getY()) {
                        sprite3.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag3) && sprite3.getY()<=tablag3.getY()) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                    if (sprite3.collidesWith(tablag4) && sprite3.getY()>tablag4.getY()) {
                        sprite3.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablag4) && sprite3.getY()<=tablag4.getY()) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                    if (sprite3.collidesWith(tablam1) && sprite3.getY()>tablam1.getY()) {
                        sprite3.setY(tablam1.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablam1) && sprite3.getY()<=tablam1.getY()) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                    if (sprite3.collidesWith(tablam2) && sprite3.getY()>tablam2.getY()) {
                        sprite3.setY(tablam2.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablam2) && sprite3.getY()<=tablam2.getY()) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                    if (sprite3.collidesWith(tablita2) && sprite3.getY()>tablita2.getY()&&tablaSet) {
                        sprite3.setY(tablita2.getY()+movi+30);
                    }
                    if (sprite3.collidesWith(tablita2) && sprite3.getY()<=tablita2.getY()&& tablaSet) {
                        sprite3.setX(sprite3.getX()+30);
                        sprite3.setFlippedHorizontal(false);
                    }
                }
                //acaba cosa fea
                if (sprite3.collidesWith(tablamovil2) && apretado2) {
                    sprite3.setY(tablamovil2.getY());
                }
                if (sprite3.collidesWith(rampa) && rampaSet) {
                    sprite3.setY(sprite3.getY() + 1);

                }
                if(sprite3.collidesWith(pared) && paredSet) {
                    sprite3.setFlippedHorizontal(false);
                    sprite3.setX(pared.getX()+50);
                }
                if (sprite3.getX() > 10) {
                    sprite3.setX(sprite1.getX() - 3);
                } else {
                    sprite3.setX(10);
                    sprite3.setFlippedHorizontal(false);
                }
            }
        }

        if (sprite4.collidesWith(muerte) || sprite4.collidesWith(muerte2) || sprite4.collidesWith(muerte3) || sprite4.collidesWith(muerte4) || sprite4.collidesWith(muerte5)) {
            quemao = new Sprite(sprite4.getX(), sprite4.getY(), AdministradorRecursos.getInstance().congelaoreg, AdministradorRecursos.getInstance().vbom);
            quemaofx.play();
            this.attachChild(quemao);
            sprite4.setPosition(2000, 0);
            sprite4.detachSelf();
            sps.remove(sprite4);

        }
        if (sprite4.collidesWith(picos1)) {

            picosan.setPosition(picos1.getX(), picos1.getY());
            picos1.detachSelf();
            sangre.play();
            sprite4.setPosition(2000, 0);
            sprite4.detachSelf();
            sps.remove(sprite4);
        }

        if (sprite4.collidesWith(picos2)) {

            picosan2.setPosition(picos2.getX(), picos2.getY());
            picos2.detachSelf();
            sangre.play();
            sprite4.setPosition(2000, 0);
            sprite4.detachSelf();
            sps.remove(sprite4);
        }

        if (sprite4.collidesWith(picosan)) {
            sangre.play();
            sprite4.setPosition(2000, 0);
            sprite4.detachSelf();
            sps.remove(sprite4);
        }

        if (sprite4.collidesWith(picosan2)) {
            sangre.play();
            sprite4.setPosition(2000, 0);
            sprite4.detachSelf();
            sps.remove(sprite4);
        }

        if (sprite4.collidesWith(meta)) {
            score = score+1000;
            finalisar = true;
            victoria.play();
            text.setText("SCORE: "+score);
            sprite4.setPosition(-30, -30);
            sprite4.detachSelf();
            sprite4.setPosition(2000, 0);
            sps.remove(sprite4);

        }
        if (!sprite4.isFlippedHorizontal()) {
            if (!sprite4.collidesWith(tablag1) && !sprite4.collidesWith(tablag2) && !sprite4.collidesWith(tablag3) && !sprite4.collidesWith(tablag4) && !sprite4.collidesWith(tablam1) && !sprite4.collidesWith(tablam2) && !sprite4.collidesWith(tablam2) && !sprite4.collidesWith(tablamovil1) && !sprite4.collidesWith(tablamovil2) && !sprite4.collidesWith(tablamovil3) && (!sprite4.collidesWith(tablita2) || !tablaSet) && (!sprite4.collidesWith(rampa) || !rampaSet) && !sprite4.collidesWith(tablamovil2)) {
                sprite4.setY(sprite4.getY() - 10);
            } else {
                if (sprite4.collidesWith(tablamovil1) && apretado) {
                    sprite4.setY(tablamovil1.getY() + 20);
                }

                if (sprite4.collidesWith(tablamovil3) && apretado3) {
                    sprite4.setY(tablamovil3.getY() + 20);
                }
                if (sprite4.collidesWith(rampa) && rampaSet) {
                    sprite4.setFlippedHorizontal(true);
                }
                //inicia cosa fea
                if(!sprite4.collidesWith(rampa)&& !rampaSet){
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()>tablamovil1.getY()) {
                        sprite4.setY(tablamovil1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()<=tablamovil1.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()>tablamovil2.getY()) {
                        sprite4.setY(tablamovil2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()<=tablamovil2.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablag1) && sprite4.getY()>tablag1.getY()) {
                        sprite4.setY(tablag1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag1) && sprite4.getY()<=tablag1.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()>tablamovil1.getY()) {
                        sprite4.setY(tablamovil1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()<=tablamovil1.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()>tablamovil2.getY()) {
                        sprite4.setY(tablamovil2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()<=tablamovil2.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablag2) && sprite4.getY()>tablag2.getY()) {
                        sprite4.setY(tablag2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag2) && sprite4.getY()<=tablag2.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablag3) && sprite4.getY()>tablag3.getY()) {
                        sprite4.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag3) && sprite4.getY()<=tablag3.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablag4) && sprite4.getY()>tablag4.getY()) {
                        sprite4.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag4) && sprite4.getY()<=tablag4.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablam1) && sprite4.getY()>tablam1.getY()) {
                        sprite4.setY(tablam1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablam1) && sprite4.getY()<=tablam1.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablam2) && sprite4.getY()>tablam2.getY()) {
                        sprite4.setY(tablam2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablam2) && sprite4.getY()<=tablam2.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablita2) && sprite4.getY()>tablita2.getY()&&tablaSet) {
                        sprite4.setY(tablita2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablita2) && sprite4.getY()<=tablita2.getY()&& tablaSet) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                }
                //acaba cosa fea
                if(sprite4.collidesWith(pared) && paredSet){
                    sprite4.setFlippedHorizontal(true);
                    sprite4.setX(pared.getX()-50);
                }
                if (sprite4.getX() < ControlJuego.ANCHO_CAMARA - 10) {
                    sprite4.setX(sprite4.getX() + 1);
                } else {
                    sprite4.setX(ControlJuego.ANCHO_CAMARA - 10);
                    sprite4.setFlippedHorizontal(true);
                }
            }
        } else {
            if (!sprite4.collidesWith(tablag1) && !sprite4.collidesWith(tablag2) && !sprite4.collidesWith(tablag3) && !sprite4.collidesWith(tablag4) && !sprite4.collidesWith(tablam1) && !sprite4.collidesWith(tablam2) && !sprite4.collidesWith(tablam2) && !sprite4.collidesWith(tablamovil1) && !sprite4.collidesWith(tablamovil2) && !sprite4.collidesWith(tablamovil3) && (!sprite4.collidesWith(tablita2) || !tablaSet) && (!sprite4.collidesWith(rampa) || !rampaSet) && !sprite4.collidesWith(tablamovil2)) {
                sprite4.setY(sprite4.getY() - 10);
            } else {
               // if (sprite4.collidesWith(tablamovil1) && apretado) {
               //     sprite4.setY(tablamovil1.getY()+20);
               // }
               if (sprite4.collidesWith(tablamovil3) && apretado3) {
                    sprite4.setY(tablamovil3.getY()+20);
                }
                //inicia cosa fea
                if(!sprite4.collidesWith(rampa)&& !rampaSet){
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()>tablamovil1.getY()) {
                        sprite4.setY(tablamovil1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()<=tablamovil1.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()>tablamovil2.getY()) {
                        sprite4.setY(tablamovil2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()<=tablamovil2.getY()) {
                        sprite4.setX(sprite4.getX()-30);
                        sprite4.setFlippedHorizontal(true);
                    }
                    if (sprite4.collidesWith(tablag1) && sprite4.getY()>tablag1.getY()) {
                        sprite4.setY(tablag1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag1) && sprite4.getY()<=tablag1.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()>tablamovil1.getY()) {
                        sprite4.setY(tablamovil1.getY()+movi-30);
                    }
                    if (sprite4.collidesWith(tablamovil1) && sprite4.getY()<=tablamovil1.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()>tablamovil2.getY()) {
                        sprite4.setY(tablamovil2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablamovil2) && sprite4.getY()<=tablamovil2.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablag2) && sprite4.getY()>tablag2.getY()) {
                        sprite4.setY(tablag2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag2) && sprite4.getY()<=tablag2.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablag3) && sprite4.getY()>tablag3.getY()) {
                        sprite4.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag3) && sprite4.getY()<=tablag3.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablag4) && sprite4.getY()>tablag4.getY()) {
                        sprite4.setY(tablag3.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablag4) && sprite4.getY()<=tablag4.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablam1) && sprite4.getY()>tablam1.getY()) {
                        sprite4.setY(tablam1.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablam1) && sprite4.getY()<=tablam1.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablam2) && sprite4.getY()>tablam2.getY()) {
                        sprite4.setY(tablam2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablam2) && sprite4.getY()<=tablam2.getY()) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                    if (sprite4.collidesWith(tablita2) && sprite4.getY()>tablita2.getY()&&tablaSet) {
                        sprite4.setY(tablita2.getY()+movi+30);
                    }
                    if (sprite4.collidesWith(tablita2) && sprite4.getY()<=tablita2.getY()&& tablaSet) {
                        sprite4.setX(sprite4.getX()+30);
                        sprite4.setFlippedHorizontal(false);
                    }
                }
                //acaba cosa fea
                if (sprite4.collidesWith(tablamovil2) && apretado2) {
                    sprite4.setY(tablamovil2.getY());
                }
                if (sprite4.collidesWith(rampa) && rampaSet) {
                    sprite4.setY(sprite4.getY() + 1);

                }
                if(sprite4.collidesWith(pared) && paredSet){
                    sprite4.setFlippedHorizontal(false);
                    sprite4.setX(pared.getX()+50);
                }
                if (sprite4.getX() > 10) {
                    sprite4.setX(sprite4.getX() - 1);
                } else {
                    sprite4.setX(10);
                    sprite4.setFlippedHorizontal(false);
                }
            }


        }

        if (sprite5.collidesWith(muerte) || sprite5.collidesWith(muerte2) || sprite5.collidesWith(muerte3) || sprite5.collidesWith(muerte4) || sprite5.collidesWith(muerte5)) {
            quemao = new Sprite(sprite5.getX(), sprite5.getY(), AdministradorRecursos.getInstance().congelaoreg, AdministradorRecursos.getInstance().vbom);
            quemaofx.play();
            this.attachChild(quemao);
            sprite5.setPosition(2000, 0);
            sprite5.detachSelf();
            sps.remove(sprite5);

        }
        if (sprite5.collidesWith(picos1)) {

            picosan.setPosition(picos1.getX(), picos1.getY());
            picos1.detachSelf();
            sangre.play();
            sprite5.setPosition(2000, 0);
            sprite5.detachSelf();
            sps.remove(sprite5);
        }

        if (sprite5.collidesWith(picos2)) {

            picosan2.setPosition(picos2.getX(), picos2.getY());
            picos2.detachSelf();
            sangre.play();
            sprite5.setPosition(2000, 0);
            sprite5.detachSelf();
            sps.remove(sprite5);
        }

        if (sprite5.collidesWith(picosan)) {
            sangre.play();
            sprite5.setPosition(2000, 0);
            sprite5.detachSelf();
            sps.remove(sprite5);
        }
        if (sprite5.collidesWith(picosan2)) {
            sangre.play();
            sprite5.setPosition(2000, 0);
            sprite5.detachSelf();
            sps.remove(sprite5);
        }

        if (sprite5.collidesWith(meta)) {
            score = score+1000;
            finalisar = true;
            victoria.play();
            text.setText("SCORE: "+score);
            sprite5.setPosition(-30, -30);
            sprite5.detachSelf();
            sprite5.setPosition(2000, 0);
            sps.remove(sprite5);

        }
        if (!sprite5.isFlippedHorizontal()) {
            if (!sprite5.collidesWith(tablag1) && !sprite5.collidesWith(tablag2) && !sprite5.collidesWith(tablag3) && !sprite5.collidesWith(tablag4) && !sprite5.collidesWith(tablam1) && !sprite5.collidesWith(tablam2) && !sprite5.collidesWith(tablam2) && !sprite5.collidesWith(tablamovil1) && !sprite5.collidesWith(tablamovil2) && !sprite5.collidesWith(tablamovil3) && (!sprite5.collidesWith(tablita2) || !tablaSet) && (!sprite5.collidesWith(rampa) || !rampaSet) && !sprite5.collidesWith(tablamovil2)) {
                sprite5.setY(sprite5.getY() - 10);
            } else {
                if (sprite5.collidesWith(tablamovil1) && apretado) {
                    sprite5.setY(tablamovil1.getY() + 20);
                }
                if (sprite5.collidesWith(tablamovil3) && apretado3) {
                    sprite5.setY(tablamovil3.getY() + 20);
                }
                //inicia cosa fea
                if(!sprite5.collidesWith(rampa)&& !rampaSet){
                    if (sprite5.collidesWith(tablag1) && sprite5.getY()>tablag1.getY()) {
                        sprite5.setY(tablag1.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag1) && sprite5.getY()<=tablag1.getY()) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                    if (sprite5.collidesWith(tablag2) && sprite5.getY()>tablag2.getY()) {
                        sprite5.setY(tablag2.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag2) && sprite5.getY()<=tablag2.getY()) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                    if (sprite5.collidesWith(tablag3) && sprite5.getY()>tablag3.getY()) {
                        sprite5.setY(tablag3.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag3) && sprite5.getY()<=tablag3.getY()) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                    if (sprite5.collidesWith(tablag4) && sprite5.getY()>tablag4.getY()) {
                        sprite5.setY(tablag3.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag4) && sprite5.getY()<=tablag4.getY()) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                    if (sprite5.collidesWith(tablam1) && sprite5.getY()>tablam1.getY()) {
                        sprite5.setY(tablam1.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablam1) && sprite5.getY()<=tablam1.getY()) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                    if (sprite5.collidesWith(tablam2) && sprite5.getY()>tablam2.getY()) {
                        sprite5.setY(tablam2.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablam2) && sprite5.getY()<=tablam2.getY()) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                    if (sprite5.collidesWith(tablita2) && sprite5.getY()>tablita2.getY()&&tablaSet) {
                        sprite5.setY(tablita2.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablita2) && sprite5.getY()<=tablita2.getY()&& tablaSet) {
                        sprite5.setX(sprite5.getX()-30);
                        sprite5.setFlippedHorizontal(true);
                    }
                }
                //acaba cosa fea
                if (sprite5.collidesWith(rampa) && rampaSet) {
                    sprite5.setFlippedHorizontal(true);
                }
                if(sprite5.collidesWith(pared) && paredSet){
                    sprite5.setFlippedHorizontal(true);
                    sprite5.setX(pared.getX()-50);
                }
                if (sprite5.getX() < ControlJuego.ANCHO_CAMARA - 10) {
                    sprite5.setX(sprite5.getX() + 2);
                } else {
                    sprite5.setX(ControlJuego.ANCHO_CAMARA - 10);
                    sprite5.setFlippedHorizontal(true);
                }
            }
        } else {
            if (!sprite5.collidesWith(tablag1) && !sprite5.collidesWith(tablag2) && !sprite5.collidesWith(tablag3) && !sprite5.collidesWith(tablag4) && !sprite5.collidesWith(tablam1) && !sprite5.collidesWith(tablam2) && !sprite5.collidesWith(tablam2) && !sprite5.collidesWith(tablamovil1) && !sprite5.collidesWith(tablamovil2) && !sprite5.collidesWith(tablamovil3) && (!sprite5.collidesWith(tablita2) || !tablaSet) && (!sprite5.collidesWith(rampa) || !rampaSet) && !sprite5.collidesWith(tablamovil2)) {
                sprite5.setY(sprite5.getY() - 10);
            } else {
                if (sprite5.collidesWith(tablamovil1) && apretado) {
                    sprite5.setY(tablamovil1.getY()+20);
                }
                if (sprite5.collidesWith(tablamovil3) && apretado3) {
                    sprite5.setY(tablamovil3.getY()+20);
                }
                //inicia cosa fea
                if(!sprite5.collidesWith(rampa)&& !rampaSet){
                    if (sprite5.collidesWith(tablag1) && sprite5.getY()>tablag1.getY()) {
                        sprite5.setY(tablag1.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag1) && sprite5.getY()<=tablag1.getY()) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                    if (sprite5.collidesWith(tablag2) && sprite5.getY()>tablag2.getY()) {
                        sprite5.setY(tablag2.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag2) && sprite5.getY()<=tablag2.getY()) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                    if (sprite5.collidesWith(tablag3) && sprite5.getY()>tablag3.getY()) {
                        sprite5.setY(tablag3.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag3) && sprite5.getY()<=tablag3.getY()) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                    if (sprite5.collidesWith(tablag4) && sprite5.getY()>tablag4.getY()) {
                        sprite5.setY(tablag3.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablag4) && sprite5.getY()<=tablag4.getY()) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                    if (sprite5.collidesWith(tablam1) && sprite5.getY()>tablam1.getY()) {
                        sprite5.setY(tablam1.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablam1) && sprite5.getY()<=tablam1.getY()) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                    if (sprite5.collidesWith(tablam2) && sprite5.getY()>tablam2.getY()) {
                        sprite5.setY(tablam2.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablam2) && sprite5.getY()<=tablam2.getY()) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                    if (sprite5.collidesWith(tablita2) && sprite5.getY()>tablita2.getY()&&tablaSet) {
                        sprite5.setY(tablita2.getY()+movi);
                    }
                    if (sprite5.collidesWith(tablita2) && sprite5.getY()<=tablita2.getY()&& tablaSet) {
                        sprite5.setX(sprite5.getX()+30);
                        sprite5.setFlippedHorizontal(false);
                    }
                }
                //acaba cosa fea
                if (sprite5.collidesWith(tablamovil2) && apretado2) {
                    sprite5.setY(tablamovil2.getY());
                }
                if (sprite5.collidesWith(rampa) && rampaSet) {
                    sprite5.setY(sprite1.getY() + 1);
                    // sprite2.setX(sprite2.getX()-2);
                }
                if(sprite5.collidesWith(pared) && paredSet){
                    sprite5.setFlippedHorizontal(false);
                    sprite5.setX(pared.getX()+50);
                }
                if (sprite5.getX() > 10) {
                    sprite5.setX(sprite5.getX() - 2);
                } else {
                    sprite5.setX(10);
                    sprite5.setFlippedHorizontal(false);
                }
            }
        }

        if (sprite1.collidesWith(caja1)) {
            cajafx.play();
            sprite2.setPosition(caja1.getX(), caja1.getY());
            caja1.setPosition(1000, 1000);
            caja1.detachSelf();
            sps.add(sprite2);
        }
        if (sprite1.collidesWith(caja2)) {
            cajafx.play();
            sprite3.setPosition(caja2.getX(), caja2.getY());
            caja2.setPosition(1000, 1000);
            caja2.detachSelf();
            sps.add(sprite3);
        }

        if (sprite1.collidesWith(caja3)) {
            cajafx.play();
            sprite4.setPosition(caja3.getX(), caja3.getY());
            caja3.setPosition(1000, 1000);
            caja3.detachSelf();
            sps.add(sprite4);
        }

        if (sprite1.collidesWith(caja4)) {
            cajafx.play();
            sprite5.setPosition(caja4.getX(), caja4.getY());
            caja4.setPosition(1000, 1000);
            caja4.detachSelf();
            sps.add(sprite5);
        }

        if (sprite2.collidesWith(caja1)) {
            cajafx.play();
            sprite2.setPosition(caja1.getX(), caja1.getY());
            caja1.setPosition(1000, 1000);
            caja1.detachSelf();
            sps.add(sprite2);
        }
        if (sprite2.collidesWith(caja2)) {
            cajafx.play();
            sprite3.setPosition(caja2.getX(), caja2.getY());
            caja2.setPosition(1000, 1000);
            caja2.detachSelf();
            sps.add(sprite3);
        }

        if (sprite2.collidesWith(caja3)) {
            cajafx.play();
            sprite4.setPosition(caja3.getX(), caja3.getY());
            caja3.setPosition(1000, 1000);
            caja3.detachSelf();
            sps.add(sprite4);
        }

        if (sprite2.collidesWith(caja4)) {
            cajafx.play();
            sprite5.setPosition(caja4.getX(), caja4.getY());
            caja4.setPosition(1000, 1000);
            caja4.detachSelf();
            sps.add(sprite5);
        }

        if (sprite3.collidesWith(caja1)) {
            cajafx.play();
            sprite2.setPosition(caja1.getX(), caja1.getY());
            caja1.setPosition(1000, 1000);
            caja1.detachSelf();
            sps.add(sprite2);
        }
        if (sprite3.collidesWith(caja2)) {
            cajafx.play();
            sprite3.setPosition(caja2.getX(), caja2.getY());
            caja2.setPosition(1000, 1000);
            caja2.detachSelf();
            sps.add(sprite3);
        }

        if (sprite3.collidesWith(caja3)) {
            cajafx.play();
            sprite4.setPosition(caja3.getX(), caja3.getY());
            caja3.setPosition(1000, 1000);
            caja3.detachSelf();
            sps.add(sprite4);
        }

        if (sprite3.collidesWith(caja4)) {
            cajafx.play();
            sprite5.setPosition(caja4.getX(), caja4.getY());
            caja4.setPosition(1000, 1000);
            caja4.detachSelf();
            sps.add(sprite5);
        }

        if (sprite4.collidesWith(caja1)) {
            cajafx.play();
            sprite2.setPosition(caja1.getX(), caja1.getY());
            caja1.setPosition(1000, 1000);
            caja1.detachSelf();
            sps.add(sprite2);
        }
        if (sprite4.collidesWith(caja2)) {
            cajafx.play();
            sprite3.setPosition(caja2.getX(), caja2.getY());
            caja2.setPosition(1000, 1000);
            caja2.detachSelf();
            sps.add(sprite3);
        }

        if (sprite4.collidesWith(caja3)) {
            cajafx.play();
            sprite4.setPosition(caja3.getX(), caja3.getY());
            caja3.setPosition(1000, 1000);
            caja3.detachSelf();
            sps.add(sprite4);
        }

        if (sprite4.collidesWith(caja4)) {
            cajafx.play();
            sprite5.setPosition(caja4.getX(), caja4.getY());
            caja4.setPosition(1000, 1000);
            caja4.detachSelf();
            sps.add(sprite5);
        }

        if (sprite5.collidesWith(caja1)) {
            cajafx.play();
            sprite2.setPosition(caja1.getX(), caja1.getY());
            caja1.setPosition(1000, 1000);
            caja1.detachSelf();
            sps.add(sprite2);
        }
        if (sprite5.collidesWith(caja2)) {
            cajafx.play();
            sprite3.setPosition(caja2.getX(), caja2.getY());
            caja2.setPosition(1000, 1000);
            caja2.detachSelf();
            sps.add(sprite3);
        }

        if (sprite5.collidesWith(caja3)) {
            cajafx.play();
            sprite4.setPosition(caja3.getX(), caja3.getY());
            caja3.setPosition(1000, 1000);
            caja3.detachSelf();
            sps.add(sprite4);
        }

        if (sprite5.collidesWith(caja4)) {
            cajafx.play();
            sprite5.setPosition(caja4.getX(), caja4.getY());
            caja4.setPosition(1000, 1000);
            caja4.detachSelf();
            sps.add(sprite5);
        }


    }

}
